#include <iostream>

using namespace std;
//友元的目的就是让一个函数或者类，访问另一个类中私有成员
//友元的关键字为:friend
//友元的三种实现
//1、全局函数做友元
//2、类做友元
//3、成员函数做友元

class Building {
    //类做友元
    //goodGay是Building类的友元类，可以访问类中的私有成员
    friend class GoodGay;

private:
    string bedRoom;//卧室
public:
    string sittingRoom;//客厅
    Building() {
        this->bedRoom = "卧室";
        this->sittingRoom = "客厅";
    }
};

class GoodGay {
public:
    Building *building;

    GoodGay() {
        //创建建筑物的对象
        building = new Building;
    }

    void visit() {//参观函数 访问Building中的属性
        cout << "好朋友正在访问" << building->sittingRoom << endl;
        cout << "好朋友正在访问" << building->bedRoom << endl;
    }
};

void test1() {
    GoodGay goodGay;
    goodGay.visit();
}

int main() {
    test1();
    return 0;
}